HAL DTS callbacks register/unregister functions

This section provides information about the HAL DTS callbacks register/unregister functions migration.

Callbacks register functions

In HAL1, a single API HAL_DTS_RegisterCallback plus a callback ID is used. In HAL2, each callback has a dedicated registration API.

HAL1

HAL2

Measurement complete callback / Asynchronous measurement complete callback

HAL_DTS_RegisterCallback(&hdts,
              HAL_DTS_MEAS_COMPLETE_CB_ID,
              UserCplt);

HAL_DTS_RegisterCallback(&hdts,
              HAL_DTS_ASYNC_MEAS_COMPLETE_CB_ID,
              UserAsyncCplt);
HAL_DTS_RegisterCpltCallback(&hDTS,
                 USER_DTS_CpltCallback);

/*(In HAL2, both callbacks are registered using the same function.)*/

High threshold callback / Asynchronous high threshold callback

HAL_DTS_RegisterCallback(&hdts,
                        HAL_DTS_HIGH_THRESHOLD_CB_ID,
                        UserHigh);

HAL_DTS_RegisterCallback(&hdts,
               HAL_DTS_ASYNC_HIGH_THRESHOLD_CB_ID,
               UserAsyncHigh);
HAL_DTS_RegisterHighThresholdCallback(&hDTS,
                                     USER_DTS_HighThresholdCallback);

/*(In HAL2, both callbacks are registered using the same function.)*/

Low threshold callback / Asynchronous low threshold callback

HAL_DTS_RegisterCallback(&hdts,
                        HAL_DTS_LOW_THRESHOLD_CB_ID,
                        UserLow);

HAL_DTS_RegisterCallback(&hdts,
             HAL_DTS_ASYNC_LOW_THRESHOLD_CB_ID,
             UserAsyncLow);
HAL_DTS_RegisterLowThresholdCallback(&hDTS,
                                    USER_DTS_LowThresholdCallback);

/*(In HAL2, both callbacks are registered using the same function.)*/

Related concept: Individual callback registration APIs replace global register and unregister functions


Callbacks unregister functions

In HAL2, the generic unregister API is removed. Revert to the default weak callback by re-registering the HAL default implementation.

HAL1

HAL2

Measurement complete callback / Asynchronous measurement complete callback

HAL_DTS_UnRegisterCallback(&hdts,
                           HAL_DTS_MEAS_COMPLETE_CB_ID);

HAL_DTS_UnRegisterCallback(&hdts,
                           HAL_DTS_ASYNC_MEAS_COMPLETE_CB_ID);
HAL_DTS_RegisterCpltCallback(&hDTS,
                             HAL_DTS_CpltCallback);

/*(In HAL2, both callbacks revert to the default using the same function.)*/

High threshold callback / Asynchronous high threshold callback

HAL_DTS_UnRegisterCallback(&hdts,
                           HAL_DTS_HIGH_THRESHOLD_CB_ID);

HAL_DTS_UnRegisterCallback(&hdts,
                           HAL_DTS_ASYNC_HIGH_THRESHOLD_CB_ID);
HAL_DTS_RegisterHighThresholdCallback(&hDTS,
                                      HAL_DTS_HighThresholdCallback);

/*(In HAL2, both callbacks revert to the default using the same function.)*/

Low threshold callback / Asynchronous low threshold callback

HAL_DTS_UnRegisterCallback(&hdts,
                           HAL_DTS_LOW_THRESHOLD_CB_ID);

HAL_DTS_UnRegisterCallback(&hdts,
                           HAL_DTS_ASYNC_LOW_THRESHOLD_CB_ID);
HAL_DTS_RegisterLowThresholdCallback(&hDTS,
                                     HAL_DTS_LowThresholdCallback);

/*(In HAL2, both callbacks revert to the default using the same function.)*/

Related concept: Individual callback registration APIs replace global register and unregister functions